1. Field of the Invention
This present invention concerns the area of computing and in particular of multiple processor systems. For example, the manufacturers of computer equipment are currently developing server centres composed of several interconnected servers, consisting of multicellular platforms, with multiple processors, sharing between them the tasks to be performed within the system that they constitute.
2. Description of Related Art
Certain known multiple processor systems of earlier design are static and not partitionable, meaning that, from the software viewpoint, they have an immutable structure which depends on the physical elements of the hardware platform. In these static systems, certain operating systems or certain applications use the serial number of the system on which they are executed as input data into their licence management mechanisms. This serial number is used, firstly, to guarantee that the operating system or the application are executed on a legal system (for which the licence has been sold) and, secondly, to guarantee the uniqueness of the identification and therefore of the use of the licence sold.
At the present time, one of the directions of development of the computer equipment and/or systems concerns the creation of maximum flexibility in configurable computer resources, to the benefit of a user disposing locally of considerably reduced computer resources.
Earlier designs of the prior art, in particular European patent applications EP 1324176, EP 1335287 and EP 1341087, disclose computer systems with multiple processors which are configurable and reconfigurable by the simple command of an operator, by means of a management tool (MT) of the system. These systems, of the type represented in FIG. 5, are composed of subsystems (4A, 4B) each consisting of a multicellular platform of computer resources. These multicellular platforms are composed of data processing cells (or computing cells, Ckj), which are connected together, each having at least one central processing unit (with several processors) and local working memories, of which at least one memory is non-volatile and called NVRAM (Non-Volatile Random Access Memory). In particular, the working memories of the cells include a start-up program or BIOS (Basic Input/Output System) and an access path to a system disk, located among the common resources of the system. At the start-up of a cell or of a group of cells, the access path is used by the BIOS program to ascertain the location of the system disk containing an operating system to be loaded and run, in order to manage the hardware resources of the computing cell or group of cells. The common resources of the system consist of the peripheral elements, such as mass memory for example, including in particular the system hard disks and data disks. The data disks include application software or applications composed of computer programs to be executed and/or data to be processed. In order to provide maximum flexibility of these systems, the common resources are connected to each multicellular platform (4A, 4B) via addressable interconnection resources (6), in accordance with a SAN architecture (Storage Area Network) for example. These interconnection resources (6) are intended to allow access to the common resources from any cell or group of cells. Thus, a data disk can be accessed from a cell (Ckj) in a given configuration of the platforms (4A, 4B), and then later by a cell (Ckj+1) in the context of a different configuration. Such interconnection resources (6) are therefore able to allow all of the cells of the platform to access the common resources with no necessity to perform any rewiring operation. The multicellular platforms (or subsystems) are said to be partitionable since they can be divided into partitions, which consist of one or more computing cells with multiple processors. The configurable or reconfigurable computer systems also include a management tool (MT) that allows a user to group the computer hardware resources into computer resource perimeters (P1, P2, . . . Pi) intended to execute operational activities (A1, A2, . . . Ai). Each perimeter (Pi) is formed by a partition (a group of computing cells) and a part of the common resources, such as at least one system disk and possibly a data disk. Each perimeter computer is thus managed by a specific multiprocessor operating system installed on a system disk of the common resources of the system. In general, an operational activity is an application that requires specific computing power, according to the type and the volume of data processed by this application. This power determines the configuration of a computer perimeter (Pi), configured by a user from an administration tool (9), with a view to executing the operational activity. The term “operational activity” refers to all of the software resources necessary to implement a function that a user of the system wants to create. Such functions include the preparation of pay records or the generation of lists of customers to be contacted for example. An activity therefore has at least one operating system capable of managing the computer hardware resources of a subsystem. Since the function desired by the user is generally not effected by the operating system on its own, an operational activity also commonly has one or more application programs intended to be executed on the operating system in order to create the function or functions desired by the user. Since the administration tool (9) controls the powering up of the different elements of the system and generally does not require as many computer resources as the operational activities executed on such systems, it can advantageously be composed, for example, of a computer connected in a local network to the subsystems making up the multicellular platform system. When two perimeters share the same common hardware resources, such as a given system disk or a given cell of a platform, they must be configured to be used successively in the system. Otherwise, they can be used simultaneously in the system.
In FIG. 5, for example, three perimeters (P1, P2 and P3) intended to execute an activity (A1) have been configured into a system that has two multicellular platform subsystems (4A and 4B), by means of a PAM administration program (Platform Administration and Maintainability program) executed on an Administration MT (Management Tool) (9). Perimeter P1, outlined by a line of short dashes, includes a first group of fourteen cells of a first multicellular platform (4A), a data disk (10), and a system disk (14). Perimeter P2, outlined by a line of long dashes includes a second group of six cells of the first multicellular platform (4A), distinct from the first group of cells, a data disk (12), and a system disk (16). Perimeter P3, outlined by a line of mixed dashes, includes a group of four cells of the second multicellular platform (4B) and the same disks as those of the P1 perimeters (10 and 14). The common resources (8) include a data disk (10) containing an application program (20), a system disk (14) containing an operating system (24), a data disk (12) containing an application program (22), and a system disk (16) containing an operating system (26). An operational activity (A1) can be supported here, for example, by a combination of program 20 and operating system 24, and be executed successively on perimeters P1 and P3, or by a combination of program 22 and operating system 26, and be executed on perimeter P2.
Such systems correspond to systems or machines usually known as partition machines. They are normally used to install and execute different operational activities (Ai), simultaneously or successively, in different perimeters of the platform. However, these systems would not allow a user to re-start the same activity in a different perimeter from that in which it was executed initially, without reinstallation or physical manipulation, while still preserving the execution context of the operational activity. In fact, the execution context of the operational activity, containing for example the different environment variables necessary at the start-up or restart of the operational activity, is saved, at least in part, in the local working memories of the perimeter. The execution context of an operational activity concerns, for example, the local clock parameters of the perimeter on which the activity was executed initially, the access path to the system disk necessary to the execution of the activity, or a personal log of events in which events that have occurred during the operation of the cell or of a group of cells are recorded. These events can, for example, be hardware incidents or alarms that have occurred during the operation of the cell or indeed events recorded by an operating system during its execution on this cell. This event log is also known by the acronym SEL (System Event Log). Thus, for example, if the user wishes to restart activity A2, not in perimeter P1 but in perimeter P2, the information recorded in the event log by activity A2, during its execution on perimeter P1, is lost. In fact, the event log of perimeter P1 is recorded in the local working memories of this perimeter P1, and is not accessible from perimeter P2. This loss of information, during the transfer of an activity from an originating perimeter to a destination perimeter, can lead to a malfunction of this activity when it is executed in its new perimeter.
European patent application EP 1324176 concerns a process and a system for backing up the local clock of a computer perimeter, configured on a multicellular platform of computer resources. This patent application deals with transferring the clock parameters from a perimeter on which an activity is executed to a perimeter on which this activity will be restarted in order to allow this activity to continue with no loss of information due to a failure to recognise the execution context. Each of the cells (Ckj) of the multicellular platforms includes a local equipment component capable of delivering a local clock signal. The invention consists of calculating and storing, for each activity executed on the different perimeters of the system, parameters relating to the offsets of the clocks of the different perimeters in relation to an absolute reference clock. During reloading of the operational activity for continued execution on a next computer perimeter, distinct from the current computer perimeter and with which is associated a next local clock that is distinct from the current local clock associated with the current computer perimeter, it consists of recalculating the time management parameters of the operational activity from the temporal offset parameter of the time management parameters in relation to the absolute reference clock, and of updating the next distinct local clock associated with this next distinct computer perimeter, prior to the launch of the said operational activity for continued execution.
European patent application EP1335287 concerns a process and a system for the automatic updating of an access path to the system disk of a computer resource hardware perimeter during the launch of an operational activity on this perimeter. The invention consists of saving to a memory, during the installation of a new system disk, a bottom part of the access path to the new system disk in a list of access paths, and then, at the time of specifying the operational activity, of associating with this activity the bottom part recorded in the list of access paths and, at the time of launching the activity on a perimeter, of automatically updating the access path contained in the working memory of this perimeter, combining the top part of the access path of this perimeter with the bottom part of the access path associated with this activity during its specification.
European patent application EP1341087 concerns a process and a system for the management of a personal event log containing events recorded by an operational activity executed on a computer resource perimeter configured on a multicellular platform computer. The invention consists of recording, during the saving of an event by an activity in a common event log, the event associated with an identifier of the activity that saved the event, and then, before consultation by an activity of its personal event log, of reconstructing the personal event log from the common event log, by selecting, from the common event log, only the events associated with the identifier of this activity, in order to include them in the personal event log reconstructed for this activity.
The multiple processor systems described in these three patent applications are flexible and partitionable. These systems are divisible into hardware subsystems that are considered to be independent from the software viewpoint, but whose boundaries can evolve over time by simple operator command. They are also flexible, in the sense that an activity installed in one of the partitions of a subsystem must be capable, without physical intervention, of being restarted in another partition of the same subsystem or in a partition of another subsystem controlled by the same administration program. However, this transfer of activity creates a problem for management of the licences of the programs necessary for the execution of the activities on the different perimeters of the system. In these flexible and partitionable systems, each subsystem has a different serial number. The movement of an activity from a perimeter containing cells of one subsystem to another perimeter containing cells of another subsystem, will therefore block the mechanism for the management of the licences, which does not find the serial number used initially for calculation of the licences. Each partition of a given subsystem gets the same serial number from the subsystem. A perimeter of the system therefore inherits the serial number of the subsystem to which the cells of the perimeter belong. Since the number of partitions in a subsystem and the boundaries between these partitions are dynamically variable, it is not possible to attribute its own unique serial number to each partition. An activity whose licence was calculated from the serial number of a subsystem, to be executed in a perimeter, can therefore be activated with impunity in each of the perimeters whose cells correspond to partitions of this same subsystem, which violated the uniqueness guarantee.